EE368 Final Project Report: Visual Code Marker Detection
نویسنده
چکیده
This report presents a method for detecting visual code markers in cell phone images. INTRODUCTION Visual code markers are binary information bearing tags similar to bar codes except that they can be read with the use of a cell phone camera and detection algorithm (such as the one presented in this report). The concept of a visual code marker and its various uses are presented clearly in Michael Rohs’ paper, “Real-World Interaction with Camera-Phones.” [1] In addition, this paper presents a method for detecting the markers which was used as a starting point for the development of the algorithm presented here. While I take the same general approach as the one presented in Roh’s paper (because I thought it was a good one), my implementation of it differs in many respects and fills in a few details that were left out. This report focuses on the specification of the algorithm I created to detect and read visual code markers in cell phone images. I begin by presenting the visual code marker shown below along with a few definitions of key features in the marker. Please note the names assigned to these features as they are referred to throughout this report. My method (which is based on Roh’s method) for identifying and reading the visual code marker consists of the following steps: 1. Obtain a binary image that contains the marker identification features shown above. 2. Generate a labeled map containing each object in the binary image. 3. Identify the main-guide bar, sub-guide bar and cornerstone objects in the labeled map. 4. Extract the code from the identified visual marker. PREPROCESSING The input image is a 640×480 color jpeg image. This is converted into a gray scale image representing luminance via the formula in our class notes: Y = 0.177×red + 0.813×green + 0.011×blue [2]. This gray scale image is then expanded to 670×510 by mirroring intensity values about its edges. This is done to mitigate edge effects from the application of a high pass filter described later. Next a 3×3 median filter is applied to the expanded gray scale image to remove sharp intensity changes and reduce noise in the image. This gray scale image is then preprocessed in an effort to prepare it for the application of a global threshold. This is necessary because uneven lighting conditions, often caused by the presence of glare, result in images where the marker features have varying intensities of gray. This leads to detection problems when a global threshold is applied to the image directly. To solve this problem, a high pass Gaussian filter is applied to the expanded gray scale image. This is accomplished by first filtering the input image with a 22×22 low pass Gaussian filter kernel with standard deviation 11. The output high-pass image is then found by removing the low-pass image from the original. Next, the central 640×480 region of the high-pass image is retained and rescaled to stretch it over a range from 0 to 255. A global threshold is applied to detect dark regions in the image, which should include the visual marker’s detection features along with clutter caused by perhaps similar looking non-marker elements in the image. Note also that if the visual marker is large the high-pass filter will attenuate internal regions of the marker features, which in turn may lead to the detection of only the marker feature edges. However, the feature identification method presented next is insensitive to this phenomenon. Finally, the binary image obtained from the previous step is labeled with the typical region labeling algorithm presented in class (or more specifically bwlabel in Matlab) [2]. Any object touching the border of the image is removed from this map before it is passed on for further processing. The 640×480 central region of the median filtered gray scale top-left cornerstone top-right cornerstone sub-guide bar mainguide bar bottom-left cornerstone image is also retained and used later to decode the visual markers. The following three images illustrate the glare suppression and detection achieved by this process (taken from training image 9). 100 200 300 400 500 600 50
منابع مشابه
Visual Code Marker Detection
This report presents our results for the class project for EE368 Digital Image Processing at Stanford University in the Spring of 2006. In this project we detect and decode visual markers by first processing the image to emphasize some salient features, then identify the marker candidates by analyzing these features, and finally projecting each candidate marker to decode it and create error mea...
متن کاملDetection of Visual Code Markers in Camera-Phone Images
We describe the algorithm design and implementation of our submission for the EE368 final project, which involves detection of visual code markers in camera-phone images. We describe our approach and results, as well as the challenges faced during the development of our algorithm. For the reader’s interest, we also include a brief account of the algorithmic possibilities which we explored but d...
متن کاملThe Detection of Faces in Color Images: EE368 Project Report
A face detection system is presented. The system has been optimized to detect faces in images created for the purpose of the EE368 class. The system uses a neural network trained to detect face-colored pixels to create regions of interest. Then, a combination of low-pass filters and clustering techniques is used to further refine these regions.
متن کاملEE368 Project: Visual Code Marker Detection through Geometric Feature Recognition
Visual code markers are developed as a humanmachine interactive tool [1] [2]. In this class project, a code recognition program is developed to read code markers. The requirements of the code recognition program are high accuracy, speed and illumination insensitivity. There can be more than one visual code in the picture and the orientations of the visual codes are not restricted. The code mark...
متن کاملEE 368 Project : Visual Code Marker Detection
A process for marker detection which involves adaptive thresholding, region-modeling and mapping has a challenge of recognizing marker in noisy space. We propose accurate and computationally efficient algorithm in detecting any number of marker within moderate tilt in camera image.
متن کامل